Public Member Functions | |
| __construct ($fileID=0) | |
| setFolderState ($folderState) | |
| setLayerType ($layerType) | |
| setStudentWrite ($studentWrite) | |
| setFolderType ($folderType) | |
| getFolderState () | |
| setParentFolder ($folder) | |
| getFiles () | |
| setFiles ($files) | |
| getSubFolders () | |
| loadSubFolder () | |
| isActiveFolder () | |
| getFolderCount ($recursive=true) | |
| printSubFolder ($layer= '') | |
| drawFolder ($layer= '', $showCount=true) | |
| hasFilesInSubFolders () | |
| showFiles ($statisticView=false) | |
| archiverAccept (ResourceVisitor $visitor, $parentPath="/") | |
Private Member Functions | |
| isLastFolder ($fileID=null) | |
| getUserIcons () | |
| getFolderHTMLOption ($option) | |
Private Attributes | |
| $parentFolder = null | |
| Klassen-Attribute. | |
| $folders = array() | |
| $files | |
| $layerType | |
| $folderType | |
| $folderState | |
| $studentWrite | |
| $fileCounter = 0 | |
| $linkCounter = 0 | |
Static Private Attributes | |
| static | $iconTypes = array() |
Definition at line 34 of file class.folder.inc.php.
| Folder::__construct | ( | $ | fileID = 0 |
) |
Definition at line 49 of file class.folder.inc.php.
References Resource::$fileID.
00049 { 00050 $this->fileID = $fileID; 00051 00052 global $VISIBLE_TXT, $VISIBLE_ICONS; 00053 00054 $VISIBLE_TXT = array(); 00055 $VISIBLE_ICONS = array(); 00056 $imgFolder = PATH_TO_ROOT.'ressourcen/icons/'; 00057 $VISIBLE_TXT[1] = " für alle sichtbar"; 00058 $VISIBLE_TXT[2] = " nur für Dozenten & Tutoren sichtbar"; 00059 $VISIBLE_TXT[3] = " nur für Dozenten sichtbar"; 00060 //Icons für Sichtbarkeit von Ordnern/Links/Dateien 00061 $VISIBLE_ICONS[1] = "<img src='".$imgFolder."edittypes/view_Student.gif' alt='visibilityAll Symbol' />"; 00062 $VISIBLE_ICONS[2] = "<img src='".$imgFolder."edittypes/view_noStudent.gif' alt='visibilityNoStudents Symbol' />"; 00063 $VISIBLE_ICONS[3] = "<img src='".$imgFolder."edittypes/view_Dozent.gif' alt='visibilityDocentsOnly Symbol' />"; 00064 00065 // Foldersymbole und Struktursymbole fuer Verzeichnisbaum (CSS Klassen) 00066 if ( empty(self::$iconTypes)) self::$iconTypes = array(0 => 'ricon_rootFolder', 1 => 'ricon_folderOpen', 2 => 'ricon_folderClosed', 3 => 'ricon_join', 4 => 'ricon_joinBottom', 5 => 'ricon_line', 6 => 'ricon_minus', 7 => 'ricon_minusBottom', 8 => 'ricon_plus', 9 => 'ricon_plusBottom', 10 => 'ricon_empty', 11 => 'ricon_foyerFolder', 12 => 'ricon_mostpopular', 13 => 'ricon_mostrecent'); 00067 00068 }
| Folder::archiverAccept | ( | ResourceVisitor $ | visitor, | |
| $ | parentPath = "/" | |||
| ) |
Archiver accept method for ArchiveVisitor
| ArchiveVisitor | $visitor Archive visitor | |
| String | $parentPath Parent path |
Definition at line 533 of file class.folder.inc.php.
References ResourceVisitor::visit().
00533 { 00534 assert($visitor instanceof ResourceVisitor); 00535 00536 return $visitor->visit($this, $parentPath); 00537 }
| Folder::drawFolder | ( | $ | layer = '', |
|
| $ | showCount = true | |||
| ) |
Definition at line 226 of file class.folder.inc.php.
References Resource::$fileID, $folderType, $layerType, and isActiveFolder().
Referenced by printSubFolder().
00226 { 00227 $fileID = $this->fileID; 00228 $folderType = $this->folderType; 00229 $layerType = $this->layerType; 00230 $folderLink = Data::toHTML($this->link, false); 00231 // Zaehlt die enthaltenen Elemente 00232 00233 global $resDB; 00234 if ( $showCount ) { 00235 if ($this->folderState) { 00236 $subCount = $resDB->countSubElements( $fileID, false ); 00237 } else { 00238 $subCount = $resDB->countSubElements( $fileID, true ); 00239 } 00240 $folderLink .= " (".$subCount.")"; 00241 } 00242 $folderName = Data::toHTML($this->name, false); 00243 // Es wird ein geoeffneter Ordner angezeigt, wenn kein foyer, root oder mostratet Ordner 00244 if ($this->isActiveFolder() && $folderType != 0 && $folderType < 11) { 00245 $folderType = 1; 00246 } elseif ($folderType != 0 && $folderType < 11) { 00247 $folderType = 2; 00248 } 00249 $HTML_LAYER = $layer; 00250 $HTML_LAYER_LINK_BEGIN = "<a href='".self::createLink(1, array('action' => 'foldOut', 'actionID' => $fileID)) ."'>"; 00251 $HTML_LAYER_IMAGE = "<img src='".PATH_TO_ROOT."images/transparent.gif' alt='layerImage' class='".self::$iconTypes[$layerType]."' />"; 00252 $HTML_LAYER_LINK_END = "</a>"; 00253 $HTML_FOLDER_LINK_BEGIN = "<a class='folder' href='".self::createLink(1, array('activeFolder' => $fileID, 'action' => '', 'actionID' => '', 'mode' => '')) ."' title=\"".$folderName."\">"; 00254 $HTML_FOLDER_IMAGE = "<img src='".PATH_TO_ROOT."images/transparent.gif' alt='Verzeichnis-Symbol' class='".self::$iconTypes[$folderType]."' />".$folderLink; 00255 $HTML_FOLDER_LINK_END = "</a>"; 00256 // Wenn Aktiver Ordner HinterGrundFarbe aendern 00257 $FOLDER_CLASS = ($this->isActiveFolder() ? "res_folderselect" : "res_folder"); 00258 // Wenn kein plus oder minus angezeigt wird soll auch kein Link gesetzt werden 00259 if ($layerType == 3 || $layerType == 4) { 00260 $HTML_LAYER_LINK_BEGIN = ""; 00261 $HTML_LAYER_LINK_END = ""; 00262 } 00263 $return = "<div class='".$FOLDER_CLASS." nobr'>".$HTML_LAYER.$HTML_LAYER_LINK_BEGIN.$HTML_LAYER_IMAGE.$HTML_LAYER_LINK_END.$HTML_FOLDER_LINK_BEGIN.$HTML_FOLDER_IMAGE.$HTML_FOLDER_LINK_END."</div>"; 00264 return $return; 00265 }
| Folder::getFiles | ( | ) |
Getter for files of the folder.
This method loads at the first access the file list of the folder and returns them.
Definition at line 102 of file class.folder.inc.php.
Referenced by ZipProvider::checkArchiveSize(), ZipProvider::logFolderDownload(), and ZipVisitor::visitFolder().
00102 { 00103 if (is_null($this->files)) { 00104 global $resDB; 00105 00106 $desc = (isset($_GET['direction']) && $_GET['direction'] == 'DESC'); 00107 $SQL_sort = 'create_time'; 00108 00109 if ( $this->fileID > 0 ) { 00110 $this->files = $resDB->getFiles( $this->fileID, $SQL_sort, $desc ); 00111 } elseif ($this->fileID == "-1") { 00112 $this->files = $resDB->getMostRatedFiles(); 00113 } elseif ($this->fileID == "-2") { 00114 $this->files = $resDB->getNewestFiles(); 00115 } 00116 } 00117 00118 return $this->files; 00119 }
| Folder::getFolderCount | ( | $ | recursive = true |
) |
Definition at line 148 of file class.folder.inc.php.
References loadSubFolder().
00148 { 00149 $this->loadSubFolder(); 00150 $count = count($this->folders); 00151 if ( $recursive ) { 00152 foreach ( $this->folders as $folder ) { 00153 $count += $folder->getFolderCount(true); 00154 } 00155 } 00156 return $count; 00157 }
| Folder::getFolderHTMLOption | ( | $ | option | ) | [private] |
Definition at line 504 of file class.folder.inc.php.
References Resource::createLink(), and Resource::getRessourceVisibilityHTML().
Referenced by showFiles().
00504 { 00505 if ($option == "deleteFolder") { 00506 $template = new Template(PATH_TO_ROOT . "/ressourcen/templates/deletefolder.html"); 00507 $folderID = $this->fileManager->getActiveFolder(); 00508 $html = ""; 00509 eval ( $template->getTemplate( "html" ) ); 00510 return $html; 00511 } 00512 00513 if ( $option == "setFolderVisibility" ) { 00514 return "<div class='res_file-extra'>" 00515 ."<a href='".$this->createLink(0, array('activeFolder' => $this->fileManager->getActiveFolder(), "action" => "setRessourceVisibility", 'actionID' => $this->fileManager->getActionID(), 'mode' => 1)) 00516 ."'>Nur Ordner</a> "."<a href='".$this->createLink(0, array('activeFolder' => $this->fileManager->getActiveFolder(), "action" => "setRessourceVisibility", 'actionID' => $this->fileManager->getActionID(), 'mode' => 2)) ."" 00517 ."'>Inhalt (rekursiv)</a> "."<a href='".$this->createLink(0, array('activeFolder' => $this->fileManager->getActiveFolder(), "action" => "setRessourceVisibility", 'actionID' => $this->fileManager->getActionID(), 'mode' => 3)) ."" 00518 ."'>Ordner und Inhalt (rekursiv)</a> "."<a href='".$this->createLink(0, array("activeFolder" => $this->fileManager->getActiveFolder())) ."'>Abbrechen</a>"."<span class='res_file-extra'>".Utilities::helpCode(701) ."</span>"."</div>"; 00519 } 00520 00521 if ( $option == "setRessourceVisibility" ) { 00522 return $this->getRessourceVisibilityHTML(); 00523 } 00524 }
| Folder::getFolderState | ( | ) |
Definition at line 86 of file class.folder.inc.php.
| Folder::getSubFolders | ( | ) |
Getter for the subfolders.
Fetchs the subfolders of this folder if not present and returns them.
Definition at line 133 of file class.folder.inc.php.
References loadSubFolder().
Referenced by ZipProvider::checkArchiveSize(), hasFilesInSubFolders(), ZipProvider::logFolderDownload(), and ZipVisitor::visitFolder().
00133 { 00134 $this->loadSubFolder(); 00135 00136 return $this->folders; 00137 }
| Folder::getUserIcons | ( | ) | [private] |
Definition at line 267 of file class.folder.inc.php.
References $_SESSION, $db, ZipProvider::checkArchiveSize(), and hasFilesInSubFolders().
Referenced by showFiles().
00267 { 00268 $action = isset($_GET['action']) ? $_GET['action'] : ''; 00269 $actionID = isset($_GET['actionID']) ? $_GET['actionID'] : ''; 00270 $course = $_SESSION['course']; 00271 $activeFolder = $_GET['activeFolder']; 00272 global $db, $VISIBLE_TXT, $VISIBLE_ICONS, $settings; 00273 $imgFolder = $this->fileManager->getImgFolder(); 00274 $folderUserID = $this->userID; 00275 $folderWrite = $this->studentWrite; 00276 00277 // Definition der Bilder zum Bearbeiten des Ordners 00278 if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml") 00279 $EDITFOLDER = "<img title='Ordnereigenschaften editieren' src='".$imgFolder."edittypes/lock_edit.gif' alt='lock edit Symbol'/>"; 00280 else $EDITFOLDER = "<img title='Ordnereigenschaften editieren' src='".PATH_TO_ROOT."images/transparent.gif' class='icon_lock_edit' alt='lock edit Symbol'/>"; 00281 if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml") 00282 $DELETEFOLDER = "<img title='Ordner inklusive Dateien löschen' src='".$imgFolder."edittypes/lock_delete.gif' alt='lock delete Symbol' />"; 00283 else $DELETEFOLDER = "<img title='Ordner inklusive Dateien löschen' src='".PATH_TO_ROOT."images/transparent.gif' class='icon_lock_delete' alt='lock delete Symbol' />"; 00284 00285 if ($settings['filemanager_recursive']) { 00286 $RECURSIVEDOWNLOADFOLDER = "<img title='Ordner als recursives Archiv herunterladen ' src='".$imgFolder."edittypes/lock_recursive_archive_download.gif' alt='lock recursive download Symbol' />"; 00287 } else { 00288 $RECURSIVEDOWNLOADFOLDER = ""; 00289 } 00290 00291 $DOWNLOADFOLDER = "<img title='Ordner als Archiv herunterladen ' src='".$imgFolder."edittypes/lock_archive_download.gif' alt='lock download Symbol' />"; 00292 00293 $FOLDERVISIBLE = ""; 00294 00295 if (($_SESSION['usergroup'] == ADMIN || ($_SESSION["usergroup"] == DOZENT && $_SESSION["course"] > 0) || (isset($folderUserID) && $_SESSION['userid'] == $folderUserID)) && $activeFolder > 0) { 00296 if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml") 00297 $EDITFOLDER = "<a title='Ordnereigenschaften verändern' href='./edit.php?editID=".$activeFolder."'><img src='".$imgFolder."edittypes/edit.gif' alt='Bearbeiten' /></a>"; 00298 else $EDITFOLDER = "<a title='Ordnereigenschaften verändern' href='./edit.php?editID=".$activeFolder."'><img src='".PATH_TO_ROOT."images/transparent.gif' class='icon_edit_folder' alt='Bearbeiten' /></a>"; 00299 if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml") 00300 $DELETEFOLDER = "<a title='Ordner löschen' href='".$this->createLink(1, array("action" => "deleteFolder", "actionID" => $activeFolder)) ."'><img src='".$imgFolder."edittypes/delete.gif' alt='Löschen' /></a>"; 00301 else $DELETEFOLDER = "<a title='Ordner löschen' href='".$this->createLink(1, array("action" => "deleteFolder", "actionID" => $activeFolder)) ."'><img src='".PATH_TO_ROOT."images/transparent.gif' class='icon_delete_folder' alt='Löschen' /></a>"; 00302 00303 //Sichtbarkeitsanzeige für aktuellen Ordner setzen 00304 $visibleIcon = ""; 00305 //beim Laden der Seite 00306 if (isset($this->visibleType) && $this->visibleType >= 1 && $this->visibleType <= 3) { 00307 $visibleIcon = $VISIBLE_ICONS[$this->visibleType]; 00308 } 00309 $FOLDERVISIBLE = "<a title='Sichtbarkeit dieses Ordners ändern' href='".$this->createLink(0, array('activeFolder' => $activeFolder, 'action' => "setFolderVisibility", "actionID" => $activeFolder)) ."'>".$visibleIcon."</a>"; 00310 } 00311 if (($_SESSION['usergroup'] == ADMIN || ($_SESSION["usergroup"] == DOZENT && $_SESSION["course"] > 0)) && $activeFolder > 0) { 00312 if (($folderWrite && !($action == "studentWriteFolder" && $actionID == $activeFolder)) || (!$folderWrite && $action == "studentWriteFolder" && $actionID == $activeFolder)) { 00313 if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml") 00314 $STUDENTWRITEFOLDER = "<a title='Studenten Schreibrechte entziehen' href='".$this->createLink(1, array("action" => "studentWriteFolder", "actionID" => $activeFolder)) ."'><img src='".$imgFolder."edittypes/student_write.gif' alt='Studenten Schreibrechte entziehen' /></a>"; 00315 else $STUDENTWRITEFOLDER = "<a title='Studenten Schreibrechte entziehen' href='".$this->createLink(1, array("action" => "studentWriteFolder", "actionID" => $activeFolder)) ."'><img src='".PATH_TO_ROOT."images/transparent.gif' class='icon_remove_student_write' alt='Studenten Schreibrechte entziehen' /></a>"; 00316 } else { 00317 if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml") 00318 $STUDENTWRITEFOLDER = "<a title='Studenten Schreibrechte geben' href='".$this->createLink(1, array("action" => "studentWriteFolder", "actionID" => $activeFolder)) ."'><img src='".$imgFolder."edittypes/lock_student_write.gif' alt='Studenten Schreibrechte geben' /></a>"; 00319 else $STUDENTWRITEFOLDER = "<a title='Studenten Schreibrechte geben' href='".$this->createLink(1, array("action" => "studentWriteFolder", "actionID" => $activeFolder)) ."'><img src='".PATH_TO_ROOT."images/transparent.gif' class='icon_give_student_write' alt='Studenten Schreibrechte geben' /></a>"; 00320 } 00321 } else { 00322 if (isset($folderWrite) && $folderWrite) { 00323 if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml") 00324 $STUDENTWRITEFOLDER = "<img src='".$imgFolder."edittypes/student_write.gif' title='Studenten haben Schreibrechte' alt='Studenten haben Schreibrechte' />"; 00325 else $STUDENTWRITEFOLDER = "<img src='".PATH_TO_ROOT."images/transparent.gif' class='icon_student_write' title='Studenten haben Schreibrechte' alt='Studenten haben Schreibrechte' />"; 00326 } else { 00327 if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml") 00328 $STUDENTWRITEFOLDER = "<img src='".$imgFolder."edittypes/lock_student_write.gif' title='Studenten haben keine Schreibrechte' alt='Studenten haben keine Schreibrechte' />"; 00329 else $STUDENTWRITEFOLDER = "<img src='".PATH_TO_ROOT."images/transparent.gif' class='icon_lock_student_write' title='Studenten haben keine Schreibrechte' alt='Studenten haben keine Schreibrechte' />"; 00330 } 00331 } 00332 00333 if (ZipProvider::checkArchiveSize($this, false) <= 00334 $settings['filemanager_archive_max_filesize']*1024*1024) { 00335 00336 if (($this->fileCounter + $this->linkCounter) > 0) { 00337 $DOWNLOADFOLDER = "<a title='Ordner als Archiv herunterladen' href='".$this->createLink(1, array("action" => "downloadFolder", "actionID" => $activeFolder)) ."'><img src='".$imgFolder."edittypes/archive_download.gif' alt='Herunterladen' /></a>"; 00338 } 00339 } else { 00340 $DOWNLOADFOLDER = "<img title='Maximale Dateigröße überschritten' src='".$imgFolder."edittypes/lock_archive_download.gif' alt='lock download Symbol' />"; 00341 } 00342 00343 if ($settings['filemanager_recursive'] == true) { 00344 00345 if (ZipProvider::checkArchiveSize($this, true) <= 00346 $settings['filemanager_archive_max_filesize']*1024*1024) { 00347 if ((($this->fileCounter + $this->linkCounter) > 0) || $this->hasFilesInSubFolders()) { 00348 $RECURSIVEDOWNLOADFOLDER = "<a title='Ordner als recursives Archiv herunterladen' href='".$this->createLink(1, array("action" => "recursiveDownloadFolder", "actionID" => $activeFolder)) ."'><img src='".$imgFolder."edittypes/recursive_archive_download.gif' alt='Recursiv Herunterladen' /></a>"; 00349 } 00350 } else { 00351 $RECURSIVEDOWNLOADFOLDER = "<img title='Maximale Dateigröße überschritten' src='".$imgFolder."edittypes/lock_recursive_archive_download.gif' alt='lock recursive download Symbol' />"; 00352 } 00353 } 00354 00355 return $DOWNLOADFOLDER . $RECURSIVEDOWNLOADFOLDER . $EDITFOLDER . $FOLDERVISIBLE . $STUDENTWRITEFOLDER . $DELETEFOLDER; 00356 }
| Folder::hasFilesInSubFolders | ( | ) |
Test which subfolders exists and containing files.
Definition at line 363 of file class.folder.inc.php.
References $folders, and getSubFolders().
Referenced by getUserIcons().
00363 { 00364 $folders = $this->getSubFolders(); 00365 00366 foreach ($folders as $folder) { 00367 if ((count($folder->getFiles()) > 0) || 00368 $folder->hasFilesInSubFolders()) { 00369 return TRUE; 00370 } 00371 } 00372 }
| Folder::isActiveFolder | ( | ) |
Definition at line 144 of file class.folder.inc.php.
Referenced by drawFolder().
| Folder::isLastFolder | ( | $ | fileID = null |
) | [private] |
Definition at line 159 of file class.folder.inc.php.
References Resource::$fileID.
Referenced by printSubFolder().
00159 { 00160 if (is_null( $fileID ) ) { 00161 if (is_a( $this->parentFolder, "Folder")) { 00162 return $this->parentFolder->isLastFolder( $this->fileID ); 00163 } 00164 } else { 00165 $lastFolder = end($this->folders); 00166 if ( is_a( $lastFolder, "Folder" )) { 00167 return ( $lastFolder->getID() == $fileID ); 00168 } 00169 } 00170 return false; 00171 }
| Folder::loadSubFolder | ( | ) |
Definition at line 139 of file class.folder.inc.php.
Referenced by getFolderCount(), getSubFolders(), and printSubFolder().
| Folder::printSubFolder | ( | $ | layer = '' |
) |
Definition at line 173 of file class.folder.inc.php.
References $db, drawFolder(), isLastFolder(), loadSubFolder(), and RessourcenDB::saveFolderState().
00173 { 00174 global $db; 00175 $this->loadSubFolder(); 00176 $lineLayer = $layer."<img src='".PATH_TO_ROOT."images/transparent.gif' alt='lineLayer' class='".self::$iconTypes[5]."'/>"; 00177 $emptyLayer = $layer."<img src='".PATH_TO_ROOT."images/transparent.gif' alt='emptyLayer' class='".self::$iconTypes[10]."'/>"; 00178 $newLayer = $lineLayer; 00179 $lastFolder = $this->isLastFolder(); 00180 if ($lastFolder) { 00181 $newLayer = $emptyLayer; 00182 $plus = 9; 00183 $minus = 7; 00184 $join = 4; 00185 $bottom = true; 00186 } else { 00187 $plus = 8; 00188 $minus = 6; 00189 $join = 3; 00190 $bottom = false; 00191 } 00192 if ( is_null( $this->parentFolder ) ) { 00193 $newLayer = ""; 00194 } 00195 $gesamtReturn = ""; 00196 $subReturn = ""; 00197 00198 foreach($this->folders as $key => $subFolder) { 00199 $subReturn .= $subFolder->printSubFolder( $newLayer ); 00200 } 00201 00202 if ( !is_null($this->parentFolder) ) { 00203 if ( $this->fileManager->getAction() == 'foldOut' && $this->fileManager->getActionID() == $this->fileID ) { 00204 RessourcenDB::saveFolderState( $this ); 00205 } 00206 if ($this->folderState) { 00207 $this->layerType = $minus; 00208 if (!$subReturn) $this->layerType = $join; 00209 } else { 00210 $this->layerType = $plus; 00211 if (!$subReturn) $this->layerType = $join; 00212 $subReturn = false; 00213 } 00214 // Unterschiedliche Ordnersymbole fuer Foyerordner und Kursordner 00215 $this->folderType = 1; 00216 if ($this->courseID == 0) $this->folderType = 11; 00217 else if ( $this->parentFolder->getID() == 0 ) $this->folderType = 0; 00218 $gesamtReturn.= $this->drawFolder($layer) .$subReturn; 00219 } else { 00220 $gesamtReturn = $subReturn; 00221 } 00222 00223 return $gesamtReturn; 00224 }
| Folder::setFiles | ( | $ | files | ) |
Definition at line 121 of file class.folder.inc.php.
References $files.
00121 { 00122 $this->files = $files; 00123 }
| Folder::setFolderState | ( | $ | folderState | ) |
Definition at line 70 of file class.folder.inc.php.
References $folderState.
00070 { 00071 $this->folderState = $folderState; 00072 }
| Folder::setFolderType | ( | $ | folderType | ) |
Definition at line 82 of file class.folder.inc.php.
References $folderType.
00082 { 00083 $this->folderType = $folderType; 00084 }
| Folder::setLayerType | ( | $ | layerType | ) |
Definition at line 74 of file class.folder.inc.php.
References $layerType.
00074 { 00075 $this->layerType = $layerType; 00076 }
| Folder::setParentFolder | ( | $ | folder | ) |
Definition at line 90 of file class.folder.inc.php.
| Folder::setStudentWrite | ( | $ | studentWrite | ) |
Definition at line 78 of file class.folder.inc.php.
References $studentWrite.
00078 { 00079 $this->studentWrite = $studentWrite; 00080 }
| Folder::showFiles | ( | $ | statisticView = false |
) |
Generiert die Filelist, und gibt sie aus
public
Definition at line 379 of file class.folder.inc.php.
References $_SESSION, Resource::$courseID, $db, $fileCounter, $linkCounter, getFolderHTMLOption(), and getUserIcons().
00379 { 00380 global $db, $settings; 00381 // INIT 00382 00383 $templateFileList = ( $statisticView ) ? 00384 new Template( PATH_TO_ROOT . "/ressourcen/templates/filelist_statistic.html" ) 00385 : new Template( PATH_TO_ROOT . "/ressourcen/templates/filelist.html" ); 00386 global $VISIBLE_TXT; 00387 $time = time(); 00388 $action = isset($_GET['action']) ? $_GET['action'] : ''; 00389 $actionID = isset($_GET['actionID']) ? $_GET['actionID'] : ''; 00390 $course = $_SESSION['course']; 00391 $activeFolder = $_GET['activeFolder']; 00392 $imgFolder = $this->fileManager->getImgFolder(); 00393 $CELL1 = $CELL = 'tableCellDark'; // AnfangsKlasse fuer Tabellenzeile, wechselt 00394 $CELL2 = 'tableCell'; 00395 $COLS = 6; // Anzahl der Spalten fuer Colspan 00396 // SichtbarkeitsTexte 00397 $VISIBLE = ""; 00398 00399 //$sql_add = $this->getVisibilityConstraintSQL(); 00400 $topOrdner = Data::toHTML($this->link, false); 00401 if ($activeFolder > 0) { 00402 $folderUserID = $this->userID; 00403 $user = $db->get_row("SELECT Vorname, Nachname, gender FROM user WHERE ID='$folderUserID'"); 00404 $folderVisible = $this->visibleType; 00405 $folderCreate = Output::echoDate("d.m.Y H:i", (int)$this->createTime); 00406 $folderUser = ""; 00407 if ($user != null) { 00408 $courseID = $_SESSION["course"]; 00409 $groupName = UserTools::getUserGroupName($folderUserID, $courseID); 00410 $userName = $user->Vorname." ".$user->Nachname . " ($groupName)"; 00411 $folderUser = "<a href='".PATH_TO_ROOT."user/homepage.php?user=$folderUserID'>".Data::toHTML($userName, false) ."</a>"; 00412 if ($role = RoleArtefacts::getRoleForItem(RESSOURCE, (int)$activeFolder)) { 00413 $folderUser.= " (".$role->getPropertiesLink($role->getName($user->gender)) .")"; 00414 } 00415 if ($team = TeamArtefacts::getTeamForItem(RESSOURCE, (int)$activeFolder)) { 00416 $folderUser.= " (".Data::toHTML($team->getName(), false) .")"; 00417 } 00418 } 00419 $folderWrite = $this->studentWrite; 00420 } 00421 //echo "<table width='100%' class='res_file-list' cellpadding='0' cellspacing='0'>"; 00422 $desc = (isset($_GET['direction']) && $_GET['direction'] == 'DESC'); 00423 $SQL_sort = 'create_time'; 00424 if ($action == 'sort' && in_array($actionID, array("name", "size", "create_time", "userID", "counter"))) { 00425 $SQL_sort = $actionID; 00426 } 00427 global $resDB; 00428 if ( $activeFolder > 0 ) { 00429 $this->files = $resDB->getFiles( $activeFolder, $SQL_sort, $desc ); 00430 } elseif ($activeFolder == "-1") { 00431 $this->files = $resDB->getMostRatedFiles(); 00432 } elseif ($activeFolder == "-2") { 00433 $this->files = $resDB->getNewestFiles(); 00434 } 00435 00436 // Fuer OrdnerDownload werden Richtige Files gebraucht 00437 $linkCounter = $fileCounter = $sizeCounter = 0; 00438 foreach($this->files as $file) { 00439 if ( $file->isFileVisible() ) { 00440 if ($file->getType() == 'link') $linkCounter++; 00441 elseif ($file->getType() == 'file') $fileCounter++; 00442 $sizeCounter = $sizeCounter+$file->getSize(); 00443 } 00444 } 00445 $sizeCounter = Format::FilesizeStr($sizeCounter); 00446 $this->fileCounter = $fileCounter; 00447 $this->linkCounter = $linkCounter; 00448 00449 if (isset($this->visibleType) && $this->visibleType >= 1 && $this->visibleType <= 3) { 00450 $VISIBLE = $VISIBLE_TXT[$this->visibleType]; 00451 } 00452 $folderIcons = ( !$statisticView ) ? $this->getUserIcons() : ""; 00453 00454 // Blaue Ueberschrift 00455 $FOLDERINFO = ($fileCounter+$linkCounter) ." Element".(($fileCounter+$linkCounter) != 1 ? "e" : "") .", Ordner ".$VISIBLE; 00456 00457 if ($activeFolder > 0 && strlen($folderUser) > 0) { 00458 $SUBHEADER = "<div><small>Erstellt von $folderUser am $folderCreate - $linkCounter Link".($linkCounter == 1 ? "" : "s") .", $fileCounter Datei".($fileCounter == 1 ? "" : "en") .", $sizeCounter total.</small><br/><br/></div>"; 00459 } else { 00460 $SUBHEADER = "<div><br/><br/></div>"; 00461 } 00462 if ( $this->fileID == $this->fileManager->getActionID() ) $SUBHEADER .= $this->getFolderHTMLOption( $action ); 00463 00464 if ($action != "sort") $this->fileManager->runAction($activeFolder, $COLS); 00465 //Abfrage: wenn Folder nicht für aktuellen User sichtbar, dann continue 00466 // Auswertungsmethode wird fuer OrdnerOptionen aufgerufen. 00467 00468 $tableTitles = array( "resource" => "Ressource", 00469 "action" => "Aktion", 00470 "size" => "Größe", 00471 "created" => "Erstellt", 00472 "owner" => "Besitzer", 00473 "clicks" => "Klicks" ); 00474 if ($activeFolder < 0) { 00475 // Gibt die TitelZeile mit den Spalten Ueberschriften aus Ohne Sortierung fuer die TOP20 oder Neuesten 20 00476 $tableHead = $tableTitles; 00477 } else { 00478 $newDirection = ($desc ? "ASC" : "DESC"); 00479 // Gibt die TitelZeile mit den Spalten Ueberschriften aus mit SOrtiermoeglichkeit 00480 $tableHead["resource"] = "<a href='".$this->createLink(1, array('action' => 'sort', 'actionID' => 'name', 'direction' => $newDirection)) ."'>".$tableTitles["resource"]."</a>"; 00481 $tableHead["action"] = $tableTitles["action"]; 00482 $tableHead["size"] = "<a href='".$this->createLink(1, array('action' => "sort", 'actionID' => "size", 'direction' => $newDirection)) ."'>".$tableTitles["size"]."</a>"; 00483 $tableHead["created"] = "<a href='".$this->createLink(1, array('action' => "sort", 'actionID' => "create_time", 'direction' => $newDirection)) ."'>".$tableTitles["created"]."</a>"; 00484 $tableHead["owner"] = "<a href='".$this->createLink(1, array('action' => "sort", 'actionID' => "userID", 'direction' => $newDirection)) ."'>".$tableTitles["owner"]."</a>"; 00485 $tableHead["clicks"] = "<a href='".$this->createLink(1, array('action' => "sort", 'actionID' => "counter", 'direction' => $newDirection)) ."'>".$tableTitles["clicks"]."</a>"; 00486 } 00487 00488 $fileListEntriesHTML = ""; 00489 if ($this->files) { 00490 $FILELISTINFO = ""; 00491 foreach($this->files as $file) { 00492 // ZellenKlasse wechselt bei jeder Zeile 00493 $CELL = ($CELL == $CELL1 ? $CELL2 : $CELL1); 00494 $fileListEntriesHTML .= $file->getHTMLString( $statisticView, $CELL ); 00495 if ($action != "sort") $this->fileManager->runAction($file->getID(), $COLS); 00496 } 00497 00498 } else { 00499 $FILELISTINFO = "<div style='text-align: center'><br/><br/>Keine Dateien vorhanden.<br/><br/></div>"; 00500 } 00501 eval ( $templateFileList->getTemplate() ); 00502 }
Folder::$fileCounter = 0 [private] |
Definition at line 46 of file class.folder.inc.php.
Referenced by showFiles().
Folder::$files [private] |
Definition at line 39 of file class.folder.inc.php.
Referenced by setFiles().
Folder::$folders = array() [private] |
Definition at line 37 of file class.folder.inc.php.
Referenced by hasFilesInSubFolders().
Folder::$folderState [private] |
Definition at line 44 of file class.folder.inc.php.
Referenced by setFolderState().
Folder::$folderType [private] |
Definition at line 43 of file class.folder.inc.php.
Referenced by drawFolder(), and setFolderType().
Folder::$iconTypes = array() [static, private] |
Definition at line 41 of file class.folder.inc.php.
Folder::$layerType [private] |
Definition at line 42 of file class.folder.inc.php.
Referenced by drawFolder(), and setLayerType().
Folder::$linkCounter = 0 [private] |
Definition at line 47 of file class.folder.inc.php.
Referenced by showFiles().
Folder::$parentFolder = null [private] |
Klassen-Attribute.
Definition at line 36 of file class.folder.inc.php.
Folder::$studentWrite [private] |
Definition at line 45 of file class.folder.inc.php.
Referenced by setStudentWrite().
1.6.1